home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1999 March / EnigmA AMIGA RUN 35 (1999)(G.R. Edizioni)(IT)[!][issue 1999-03].iso / earcd / -archivi / -recent2 / clib37x.lha / CLib37x / ReadMe.AROS < prev    next >
Text File  |  1997-08-23  |  2KB  |  69 lines

  1. AROS notes:
  2. -----------
  3. [Andreas R. Kleinert <Andreas_Kleinert@t-online.de]
  4.  
  5.  - made some changes to Aaron's sources to get
  6.    them compiled with SAS/C 6.58
  7.  - AROS version longer longer included: you can
  8.    find it within the AROS distribution itself, now
  9.  
  10.  
  11. [Aaron Digulla <digulla@fh-konstanz.de> ]
  12.  
  13.  
  14. I have ported this source to AROS on Linux.
  15.  
  16. It works with AROS V1.11+. Eventually, it will become part of
  17. the AROS Library Generation Tools.
  18.  
  19. Some of this problems are announced to be fixed with gcc V2.8.0 .
  20.  
  21. The size of the library is 852 bytes code and 188 bytes data. The file
  22. size is 80935 including full debug infos.
  23.  
  24.  
  25. I made the following changes:
  26.  
  27. makefile.aros:
  28.   added
  29.  
  30. Startup.c:
  31. SampleFuncs.h:
  32. LibInit.c:
  33. SampleFuncs.c:
  34.     AROS has it's own way to define functions which belong into a library.
  35.     A library function is declared like this:
  36.  
  37.         AROS_LH1 (ULONG, foo,
  38.             AROS_LHA (APTR, bar, D0),
  39.             struct LibBase *, LibBase, 7, Demo
  40.         )
  41.  
  42.     This creates a function which is called "foo" for the library "Demo".
  43.     The function returns ULONG and gets a single parameter bar which is
  44.     an APTR in D0 (if D0 is available; on systems where there are no
  45.     registers, for example in intel CPUs, the arguments will be passed
  46.     on the stack). The function will get a hidden parameter called "LibBase"
  47.     in A6 or on the stack. The type of "LibBase" is "struct LibBase *".
  48.     The function is the 7th (counting begins by 0 which is LibInit; 1 is
  49.     LibOpen, 2 is LibClose, 3 is LibExpunge, 4 is LibFuncExt, 5 is the
  50.     first library specific function). Macros are available for upto 15
  51.     parameters.
  52.  
  53.     If you replace AROS_LH1 by AROS_LC1, then you can call a function of
  54.     a library.
  55.  
  56.     This special format is used by a couple of tools which generate
  57.     all header files (proto, pragma, clib, etc) and the autodocs from
  58.     the source.
  59.  
  60. proto/example.h
  61.     Include the AROS headers for libraries.
  62.  
  63. defines/example.h
  64.     Added this file. It contains macros which are expanded into AROS_LCx
  65.     macros which call the actual function.
  66.  
  67. Have fun.
  68.  
  69.